#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//int main()
//{
//    int h, n;
//    int p[10000];
//    int q[10000];
//    scanf("%d %d", &h, &n);
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d", &q[i]);
//    }
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d", &p[i]);
//    }
//    int a = h;
//    int b = n;
//    for (int i = 0; i < n; i++)
//    {
//        a -= q[i];
//        if (a <= 0)
//        {
//            printf("yes %d", i + 1);
//            return 0;
//        }
//        a += p[i];
//    }
//    printf("no");
//    return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int count = 0;
//	int temp;
//	while (scanf("%d", &temp) == 1)
//	{
//		count++;
//	}
//	printf("%d", count);
//	return 0;
////}
//#include<stdio.h>
//int main()
//{
//	int A;
//	int B;
//	scanf("%d %d", &A, &B);
//	if (A >= B)
//	{
//		if (A % B == 0)
//		{
//			printf("Sao Multiplos");
//		}
//		else
//		{
//			printf("Nao sao Multiplos");
//		}
//	}
//	else
//	{
//		if (B % A== 0)
//		{
//			printf("Sao Multiplos");
//		}
//		else
//		{
//			printf("Nao sao Multiplos");
//		}
//	}
//
//	return 0;
//}

#/*include<stdio.h>
int main()
{

	int a, b, c, d;
	scanf("%d", &a);
    scanf("%d", &b);
	scanf("%d", &c);
	scanf("%d", &d);
	int num = (a * b) - (c * d);
	printf("%d", num);
}*/
//
#include<stdio.h>
int main()
{
	double a, b, c, d;
	
	scanf("%lf %lf %lf %lf", &a, &b, &c, &d);
	double t = a / (b + c);
	double s = d * t;
	printf("%.5f\n", s);
	return 0;
}